package org.dromara.oce.domain.req;

import com.bytedance.ads.model.ProjectCreateV30Operation;
import com.bytedance.ads.model.PromotionCreateV30RequestNativeSetting;
import com.bytedance.ads.model.PromotionCreateV30RequestPromotionMaterials;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;

/**
 * @desc: https://open.oceanengine.com/labels/34/docs/1757798123491403?origin=left_nav
 * @author: cx
 * @date：2025/6/5 10:11
 */
@Data
public class CreatePromotionV3Request {
    /**
     * 管家账号id
     */
    private Long accountId;

    /**
     * 广告主id
     */
    private Long advertiserId;

    /**
     * 项目id
     */
    private Long projectId;

    /**
     * 广告状态， 允许值: ENABLE开启(默认值）、DISABLE关闭
     */
    private ProjectCreateV30Operation operation;

    /**
     * 广告名称，长度是1-50个字（两个英文字符占1个字）。名称不可重复，否则会报错
     */
    @NotBlank(message = "广告名称不能为空" )
    private String name;

    /**
     * 广告素材组合  字段名称都是驼峰
     * video_material_list 视频素材信息
     * [{
     * image_mode 素材类型
     * video_id 视频ID
     * video_cover_id  视频封面图片ID
     * video_hp_visibility
     * }]
     * <p>
     * <p>
     * title_material_list 标题素材，上限10个
     * [{title 标题}]
     * <p>
     * <p>
     * external_url_material_list[] 落地页素材
     * <p>
     * product_info 产品信息
     * titles[]  产品名称
     * image_ids[] 产品主图
     * selling_points[] 产品卖点
     * product_name_type 产品名称类型
     * product_image_type 产品主图类型
     * product_selling_point_type 产品卖点类型
     * <p>
     * <p>
     * call_to_action_buttons[]  行动号召文案，字数限制：[2-6]，数组上限为10
     * <p>
     * anchor_material_list[{}] 原生锚点素材
     * anchor_type 锚点类型 APP_INTERNET_SERVICE
     * anchor_id 原生锚点id
     * <p>
     * <p>
     * <p>
     * 请求示例json:{
     * "video_material_list":[{
     * "image_mode": "CREATIVE_IMAGE_MODE_VIDEO_VERTICAL",
     * "video_id": "v0d033g10000d12la8vog65vuc9perag",
     * "video_cover_id": "tos-cn-p-0051/oMAgxbVjA8UDVfNoN0VBAXO2VEIKEBFFuNFRfD",
     * "video_hp_visibility": "HIDE_VIDEO_ON_HP"
     * }],
     * "title_material_list":[
     * {
     * "title": "早知道后劲这么大！就不点开看了！内容太紧凑了"
     * },
     * {
     * "title": "这部剧太好看了！躺在被窝里看了20遍！实在是爽！"
     * },
     * {
     * "title": "全程高能反转短剧，打脸一波接着一波，力荐"
     * }
     * ],
     * "external_url_material_list": [
     * "https://www.chengzijianzhan.com/tetris/page/7512359216272326693"
     * ],
     * "product_info": {
     * "titles": [
     * "墨染芳华"
     * ],
     * "image_ids": [
     * "tos-cn-i-sd07hgqsbj/6568124244734fcdabeab24e95fb9934"
     * ],
     * "selling_points": [
     * "精彩短剧看不停",
     * "热播短剧在线观看",
     * "凌晨五点了还没睡"
     * ],
     * "product_name_type": "CUSTOM",
     * "product_image_type": "CUSTOM",
     * "product_selling_point_type": "CUSTOM",
     * "product_name_fields": [
     * ""
     * ],
     * "product_image_fields": [
     * ""
     * ],
     * "product_selling_point_fields": [
     * ""
     * ]
     * },
     * "call_to_action_buttons": [
     * "点我进入",
     * "进来看看"
     * ],
     * "source": "来源测试",
     * "native_setting": {
     * "aweme_id": "dsjc01",
     * "is_feed_and_fav_see": "OFF",
     * "anchor_related_type": "SELECT"
     * },
     * "is_comment_disable": "ON"
     * }
     */
    private PromotionCreateV30RequestPromotionMaterials promotionMaterials;

    /**
     * source 来源
     */
    private String source;

    /**
     * native_setting 原生广告设置{
     * aweme_id 单个授权抖音号id
     * anchor_related_type 原生锚点启用开关，允许值:不启用 OFF（默认值），自动生成 AUTO，手动选择 SELECT
     * }
     */
    private PromotionCreateV30RequestNativeSetting nativeSetting;

    /**
     * is_comment_disable 广告评论，ON为启用，OFF为不启用
     */
    private String isCommentDisable;


    /**
     * 标题包名
     */
    private String titleWrapName;


    /**
     * 预算（元）
     */
    public Double budget;

    /**
     * 目标转化出价/预期成本
     */
    public Double cpaBid;


}
